package com.zhuoyue.biz.core.command.constant;

/**
 * 网关命令
 *
 * @author Administrator
 */
public interface GatewayCmdDeal {

    /**
     * 网关处理类型
     *
     * @author Administrator
     */
    interface DealType {

        /**
         * 刷新上报
         */
        public static String REFRESH_REPORT = "REFRESH_REPORT";

        /**
         * OD读取(所有)
         */
        public static String PARAM_READ = "PARAM_READ";

        /**
         * 读取单个OD
         */
        public static String READ_VERSION = "READ_VERSION";

        /**
         * 网关打开入网模式
         */
        public static String GATEWAY_ENABLE = "GATEWAY_ENABLE";

        /**
         * 网关关闭入网模式
         */
        public static String GATEWAY_DISABLE = "GATEWAY_DISABLE";

        /**
         * 网关布防、撤防
         */
        public static String GATEWAY_DEFEND = "GATEWAY_DEFEND";

    }

    /**
     * 刷新上报
     */
    interface RefreshReport {

        /**
         * 1 帧头 固定参数
         */
        public static String CMD_1 = "2A";

        /**
         * 2 数据长度 通过计算获取 cmd_2
         */

        /**
         * 3 命令标识-读 固定参数
         */
        public static String CMD_3 = "01";

        /**
         * 4 命令针对自身 固定参数
         */
        public static String CMD_4 = "00";

        /**
         * 5 网关mac地址 前端传参 cmd_5
         */

        /**
         * 6 OD索引 固定参数
         */
        public static String CMD_6 = "03ED";

        /**
         * 7 子索引 固定参数 15（表示有效设置参数为结构体第十五个参数---即刷新网络中所有节点）
         */
        public static String CMD_7 = "0F";


        /**
         * 9 帧尾 固定参数
         */
        public static String CMD_9 = "23";

    }

    /**
     * 设备参数读取
     */
    interface ParamRead {

        /**
         * 1 帧头 固定参数
         */
        public static String CMD_1 = "2A";

        /**
         * 2 数据长度 通过计算获取 cmd_2
         */

        /**
         * 3 命令标识-读 固定参数
         */
        public static String CMD_3 = "01";

        /**
         * 4 命令针对设备 固定参数
         */
        public static String CMD_4 = "01";

        /**
         * 5 网关mac地址 前端传参 cmd_5
         */

        /**
         * 6 设备mac地址 前端传参 cmd_6
         */

        /**
         * 7 OD索引 固定参数
         */
        public static String CMD_7 = "03EF";

        /**
         * 8 子索引 00（表示获取参数为结构体所有参数） 固定参数
         */
        public static String CMD_8 = "00";


        /**
         * 10 帧尾 固定参数
         */
        public static String CMD_10 = "23";

    }

    /**
     * 设备参数读取
     */
    interface ReadVersion {

        /**
         * 1 帧头 固定参数
         */
        public static String CMD_1 = "2A";

        /**
         * 2 数据长度 通过计算获取 cmd_2
         */

        /**
         * 3 命令标识-读 固定参数
         */
        public static String CMD_3 = "01";

        /**
         * 4 命令针对设备 固定参数
         */
        public static String CMD_4 = "01";

        /**
         * 5 网关mac地址 前端传参 cmd_5
         */

        /**
         * 6 设备mac地址 前端传参 cmd_6
         */

        /**
         * 7 OD索引 固定参数
         */
        public static String CMD_7 = "0000";

        /**
         * 8 子索引 00（表示获取参数为结构体所有参数） 固定参数
         */
        public static String CMD_8 = "01";


        /**
         * 10 帧尾 固定参数
         */
        public static String CMD_10 = "23";

    }

    /**
     * 网关打开入网模式
     *
     * @author Administrator
     */
    interface GatewayEnable {

        /**
         * 1 帧头 固定参数
         */
        public static String CMD_1 = "2A";

        /**
         * 2 数据长度 通过计算获取 cmd_2
         */

        /**
         * 3 命令标识 固定参数
         */
        public static String CMD_3 = "60";

        /**
         * 4 命令对象 固定参数
         */
        public static String CMD_4 = "00";

        /**
         * 5 网关mac地址 前端传参 cmd_5
         */

        /**
         * 6 子命令数据长度 暂时为固定参数
         */
        public static String CMD_6 = "06";

        /**
         * 7 打开入网模式子命令 固定参数
         */
        public static String CMD_7 = "010101FF0000";


        /**
         * 9 帧尾 固定参数
         */
        public static String CMD_9 = "23";

    }

    /**
     * 网关关闭入网模式
     *
     * @author Administrator
     */
    interface GatewayDisable {

        /**
         * 1 帧头 固定参数
         */
        public static String CMD_1 = "2A";

        /**
         * 2 数据长度 通过计算获取 cmd_2
         */

        /**
         * 3 命令标识 固定参数
         */
        public static String CMD_3 = "60";

        /**
         * 4 命令对象 固定参数
         */
        public static String CMD_4 = "00";

        /**
         * 5 网关mac地址 前端传参 cmd_5
         */

        /**
         * 6 子命令数据长度 暂时为固定参数
         */
        public static String CMD_6 = "06";

        /**
         * 7 关闭入网模式子命令 固定参数
         */
        public static String CMD_7 = "010101000000";

        /**
         * 9 帧尾 固定参数
         */
        public static String CMD_9 = "23";

    }

    /**
     * 网关布防、撤防
     * <p>
     * 发送：2A 0D 50 00 FD A3 C6 0A 00 6F 0D 00 02 05 01 44 23
     * <p>
     * 2A：帧头
     * 0D：数据长度
     * 50：命令标识
     * 00：命令对象
     * FD A3 C6 0A 00 6F 0D 00：网关MAC地址
     * 02：数据长度
     * 05：子命令标识，设防类型配置命令
     * 01：设防类型为布防，01为布防，02为撤防
     * 44：从命令标识处开始的校验和
     * 23：帧尾
     *
     * @author Administrator
     */
    interface GatewayDefend {

        /**
         * 1 帧头 固定参数
         */
        public static String CMD_1 = "2A";

        /**
         * 2 数据长度 通过计算获取 cmd_2
         */

        /**
         * 3 命令标识 固定参数
         */
        public static String CMD_3 = "50";

        /**
         * 4 命令对象 固定参数
         */
        public static String CMD_4 = "00";

        /**
         * 5 网关mac地址 前端传参 cmd_5
         */

        /**
         * 6 子命令数据长度 暂时为固定参数
         */
        public static String CMD_6 = "02";

        /**
         * 7 子命令标识，设防类型配置命令
         */
        public static String CMD_7 = "05";

        /**
         * 8 布防、撤防命令  01为布防，02为撤防
         */


        /**
         * 10 帧尾 固定参数
         */
        public static String CMD_10 = "23";

    }

}
